Image information, be it color, black or white, is commonly generated in a bitmap format where the bitmap comprises a plurality of gray level pixels, i.e. pixels that are defined by digital values, each value representing a gray level among a number of gray levels. Thus, in an 8 bit system, 256 levels of gray are present, where each level represents an increment of gray between black and white. In the case of color bitmaps, where three defining colors or separations each include 256 levels of information, there may be more than 16 million colors defined by a gray bitmap.
Usually, bitmaps in such a gray level format are unprintable by standard printers. Standard printers print in a limited number of levels, either a spot or a no spot in the binary case, or a limited number of levels associated with the spot, for example, four in the quaternary case. Accordingly, it is necessary to reduce the gray level image data to a limited number of levels so that it is printable. Besides gray level information derived by scanning and computer generated images, certain processing techniques such as those described, for example, in U.S. patent application Ser. No. 07/821,125, entitled "Method for Image Conversion With Error Diffusion", by R. Eschbach, produce gray level pixel values which require conversion to a limited set of "legal" or output values.
One standard method of converting gray level pixel image data to binary level pixel image data is through the use of dithering or halftoning processes. In such arrangements, over a given area having a number of gray pixels therein, each pixel of an array of gray level pixels within the area is compared to one of a set of preselected thresholds (the halftone cell). The effect of such an arrangement is that, for an area where the image is gray, some of the thresholds within the halftone cell will be exceeded, while others are not. In the binary case, the pixels or cell elements for which thresholds are exceeded are printed as white, while the remaining elements are allowed to remain black. The effect of the distribution of black and white over the cell is integrated by the human eye as gray. Dithering or halftoning presents problems, however, in that the amount of gray within an original image is not maintained over an area, i.e. the error arising from the difference between the threshold value and the actual gray level value at any particular cell is simply thrown away. This results in a loss of image information. Halftoning also introduces coarse quantization artifacts which are visible in the image areas where the scene has little variation. This is also known as "banding". Clustered halftoning, usually required for electrophotographic printing, produces a monotonically growing halftone dot that can be calibrated for printing to compensate for dot gain. However, clustered halftones have a tradeoff between image sharpness and quantization of gray levels.
In the ARIES (Alias Reduction and Image Enhancement System) method of halftone reproduction, described by P. Roetling in "Halftone Method With Edge Enhancement and Moire' Suppression," J. Opt. Soc. Amer. Vol. 66, No. 10, pp. 985-989, October, 1976, image information initially has a set of halftone screen values for a cell added to the information. A uniform threshold value is applied to the screened information, to produce an output value. The average gray value over the cell area of the input image is compared to the average gray value over the cell area of the output image. See, also, U.S. Pat. No. 4,051,536 to Roetling and U.S. Pat. No. 4,633,327 to Roetling. In this way, the error between original and output is minimized over each halftone cell. The banding artifact, however, is not reduced.
Algorithms that convert gray images to binary or other number of level images attempting to preserve the local density exist, and include among them error diffusion, as taught, for example, in "An Adaptive Algorithm for Spatial Greyscale" by Floyd and Steinberg, Proceedings of the SID 17/2, 75-77 (1976) (hereinafter, "Floyd and Steinberg"). Another, more elaborate method that enhances edges of image would be the error diffusion techniques of U.S. Pat. No. 5,045,952 to Eschbach. Additional modifications to the error diffusion algorithm taught by Floyd and Steinberg have been proposed, e.g.: a different weighting matrix, as taught, for example, in "A Survey of Techniques for the Display of Continuous Tone Pictures on Bilevel Displays" by Jarvis et al., Computer Graphics and Image Processing, Vol. 5., pp. 13-40 (1976), and in "MECCA-A Multiple-Error Correction Computation Algorithm for Bi-Level Image Hardcopy Reproduction" by Stucki, IBM Res. Rep. RZ1060 (1981). Modifications of the error calculation and weight allocation have been taught, for example, in U.S. Pat. No. 4,924,322 to Kurosawa et. al., U.S. Pat. No. 4,339,774 to Temple, and U.S. Pat. No. 4,955,065, to Ulichney.
Error diffusion attempts to maintain gray by making the conversion from gray pixels to binary or other level pixels on a pixel-by-pixel basis. The procedure examines each pixel with respect to a threshold, and the difference between the gray level pixel value and the output value is forwarded to a selected group or set of neighboring pixels, in accordance with a weighting scheme. A problem noted with the use of the standard error diffusion algorithms for printing applications is the production of large numbers of isolated black and/or white pixels which are nonprintable by many types of printers. The algorithm taught by Billotet-Hoffmann and Bryngdahl, Proceedings of the SID, Vol. 24/3, (1983), pp. 253-258, shows a dither matrix used as a threshold for error diffusion, to alleviate the problems of undesired patterns generally produced by the error diffusion algorithm. A method to overcome the printability problem is taught by U.S. Pat. No. 4,654,721 to Goertzel, where a method is shown to convert a continuous tone image to a bilevel pixel image. The total error generated in one halftone cell is distributed to a predetermined number of adjacent halftone cells. In this way, printable images are generated, while the banding artifact is reduced, by alternating between fixed output cell patterns. Because of an inherent lack of partial dots in this process, evidenced as a loss in sharpness, edge detection and sharpening was included. See, also, "Digital Halftoning in the IBM 4250 Printer" by Goertzel et al. (Goertzel), IBM J. Res. Develop., Vol 31, No. 1, January, 1987. Additionally, the cell to cell error diffusion requires an offset that exactly corresponds to the halftone cells, Goertzel does not use Floyd and Steinberg error diffusion, instead introducing a random number generator to determine error weighting. Halftone dots are treated as fonts, and partial dotting is not used. U.S. patent application Ser. No. 07/583,337 to Shiau, and Ser. No. 07/775,201 to Fan, teach the use of similar methods to reduce a continuous tone image to a multilevel pixel image with diffusion of error between adjacent halftone cells. Fan considers the distinction between partial dots and full dots in determining error distribution.
In the MAE (Minimum Average Error) method of error diffusion described in "Images from Computers", by M. Schroeder, IEEE Spectrum, March 1969, pp. 66-78, a different error diffusion method is introduced, which determines error as a function of the original image and the output image (as opposed to the original image modified by error from previous pixels, and the output image). The result is less worming artifacts than Floyd and Steinberg, but a less precise gray tone reproduction.
U.S. Pat. No. 5,055,942 to Levien suggests another pixel based error diffusion scheme where the dot size in a screened image can be varied by applying a hysteresis constant and recursion techniques known from adaptive screening, to allow adjustment of image coarseness by adjustment of the hysteresis constant.
All of the references cited herein are incorporated by reference for their teachings.